Integer-based transform matrices are used for transform coding of digital signals, such as for coding image/video signals. Discrete Cosine Transforms (DCTs) are widely used in block-based transform coding of image/video signals, and have been adopted in many Joint Photographic Experts Group (JPEG), Motion Picture Experts Group (MPEG), and network protocol standards, such as MPEG-1, MPEG-2, H.261, and H.263. Ideally, a DCT is a normalized orthogonal transform that uses real-value numbers. This ideal DCT is referred to as a real DCT. Conventional DCT implementations use floating-point arithmetic that require high computational resources. To reduce the computational burden, DCT algorithms have been developed that use fix-point or large integer arithmetic to approximate the floating-point DCT. However, none of these approaches has been able to guarantee coding reversibility. Coding reversibility refers to the ability of a transform algorithm to transform a signal and then inverse transform the transformed signal as closely as possible back to the original signal, without inducing error into the original signal.
Integer transform techniques have been developed to provide coding reversibility. Some of these techniques are described in the following documents. U.S. Pat. No. 5,999,957, Ohta, (2000) “Lossless Transform Coding System For Digital Signals,” assigned to NEC Corporation which is a division of U.S. Pat. No. 5,703,799. U.S. Pat. No. 5,999,656, Zandi and Schwartz, (1999) “Overlapped Reversible Transforms for Unified Lossless/Lossy Compression,” assigned to Ricoh Corporation. U.S. Pat. No. 5,703,799, Ohta, (1997) “Lossless Transform Coding System For Digital Signals,” assigned to NEC Corporation. Ying-Jui Chen, Soontorn Oraintara, and Truong Nguyen, “Video Compression Using Integer DCT,” Proceedings of IEEE International Conference on Image Processing (ICIP), 2000.
Among these techniques, transform matrices are derived based on a Hadamard transform to approximate the real DCT. Usually, small integer transform coefficients are chosen to improve coding efficiency. However, the Hadamard transform is a redundant transform in the frequency (or real DCT) domain. These transform matrices were developed without considering the distortion in the frequency domain with respect to the real DCT. The normalization of the transform matrix is also not considered.